The background of the present disclosure is hereinafter introduced with the discussion of techniques relating to its context. However, even when this discussion refers to documents, acts, artifacts and the like, it does not suggest or represent that the discussed techniques are part of the prior art or are common general knowledge in the field relevant to the present disclosure.
The present disclosure relates to the information technology field. More specifically, this disclosure relates to the management of computing machines.
The management of computing machines plays a key role in several contexts, especially in large organizations wherein their number may become very high (for example, up to some hundreds of thousands). For this purpose, various resource management tools are available for facilitating the management of the computing machines; a commercial example of these resource management tools is IBM BigFix by IBM Corporation (trademarks).
The resource management tools may be based on policies. Each policy indicates a management activity that has to be executed on the computing machines to make them compliant therewith (for example, the application of a patch to a software program); the policies are deployed to the computing machines, wherein they are applied by executing the corresponding management activities. This reduces the administrative effort required to manage the computing machines, since the focus is shifted from their management at an individual level to the definition of the policies at an aggregated level. Generally, each policy also indicates an applicability rule thereof (for example, the availability of a specific operating system); the policy is then applied only on the computing machines that fulfill its applicability rule. This allows executing the management activities efficiently where they are actually relevant.
However, the definition of the applicability rule of each policy may be quite difficult and time consuming. For example, US-A20150178060 discloses a computer implemented method including the steps of identifying prerequisites (i.e., software and hardware components) of a software application that are present in source code of the software application and creating a prerequisite checklist that includes the identified prerequisites of the software application, wherein the prerequisite checklist is in a file format that is compatible with prerequisite checking software. However, this technique is complex and not of general applicability.
The definition of the applicability rule of each policy substantially remains a manual task, which strongly depends on personal skills and experience (and then it is prone to human errors). Therefore, the application of the policy may fail on several computing machines wherein it had not to be applied. A troubleshooting of the failures should then be performed in an attempt to identify these computing machines and then correct the applicability rule accordingly. For example, U.S. Pat. No. 7,624,086 discloses interrogating computer systems prior to software installations to ensure software installations operate correctly and do not conflict with existing hardware and software. An agent application is first installed on a user's system; when a new program is about to be installed on the user's system, the agent checks if certain prerequisite requirements are met. The prerequisite requirements are downloaded from an expert system library, and the agent interrogates the user's system to determine if it passes the downloaded requirements; if the system passes, then the software is installed. If the system does not pass, then a report is sent to the user and/or a remediation script is initiated to repair the problem. After software is installed, if errors arise that were not previously detected, a feedback mechanism sends the errors to the expert system library so future errors are detected preemptively.
In any case, the troubleshooting is a quite complex process. Indeed, the troubleshooting at first requires identifying the (alleged) cause of each failure, for example, with a process of elimination. An update of the applicability rule that avoids the application of the policy on the computing machines wherein it is likely that it was applied by mistake is determined; the applicability rule is updated accordingly and verified for its correctness. However, this process may be time consuming and expensive, especially when a high number of failures has occurred.
All of the above may have a detrimental effect on the whole management of the computing machines.